package com.dituo.esac.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dituo.esac.dto.EsacCheckDTO;
import com.dituo.esac.dto.EsacCommunityDTO;
import com.dituo.esac.dto.EsacExportDTO;
import com.dituo.esac.dto.EsacPersonDTO;
import com.dituo.esac.dto.EsacSearchDTO;
import com.dituo.esac.po.DeviceDayCountPO;
import com.dituo.esac.po.EsacAppInfoPO;
import com.dituo.esac.po.EsacCheckInfoPO;
import com.dituo.esac.po.EsacCheckPO;
import com.dituo.esac.po.EsacCommunityCountPO;
import com.dituo.esac.po.EsacCommunityPO;
import com.dituo.esac.po.EsacDeviceNodePO;
import com.dituo.esac.po.EsacInfoPO;
import com.dituo.esac.po.EsacNodeListPO;
import com.dituo.esac.po.EsacPersonPO;
import com.dituo.esac.po.EsacPersonStatusPO;
import com.dituo.esac.po.EsacTemListPO;
import com.dituo.esac.po.TemperatureDayCountPO;

public interface EsacMapper {

	List<EsacNodeListPO> getHistoryList(EsacSearchDTO esacSearchDTO);
	List<EsacTemListPO> getTemHistoryList(EsacSearchDTO esacSearchDTO);
	EsacInfoPO getEsacInfoById(@Param("personId")String personId);
	List<EsacAppInfoPO> getAppHistoryList(EsacSearchDTO esacSearchDTO);
	List<EsacCheckPO> getEsacListById(EsacSearchDTO esacSearchDTO);
	List<EsacCheckInfoPO> selectEsacCheckList(EsacSearchDTO esacSearchDTO);
	List<TemperatureDayCountPO> getEsacTemWarnCountDay(@Param("orgId")Long orgId);
	
	int addEsacCheck(EsacCheckDTO esacCheckDTO);
	EsacCommunityPO getEsacCommunityByName(@Param("communityName")String communityName);
	int addEsacCommunity(EsacCommunityDTO esacCommunityDTO);
	int updateEsacCommunity(EsacCommunityDTO esacCommunityDTO);
	EsacPersonPO getEsacPersonByIdCard(@Param("idCard")String idCard);
	int addEsacPerson(EsacPersonDTO esacPersonDTO);
	int updateEsacPerson(EsacPersonDTO esacPersonDTO);
	EsacCommunityCountPO getEsacCommunityByOrgId(@Param("orgid")Long orgid);
	List<EsacPersonStatusPO> getEsacDayPerson(@Param("time")String time, @Param("orgid")Long orgid);
	List<DeviceDayCountPO> getEsacWarnCountDay(@Param("orgid")Long orgid, @Param("roleAreaCode")String roleAreaCode, @Param("orgType")Integer orgType);
    List<EsacDeviceNodePO> getEsacDeviceNodeList(EsacExportDTO esacExportDTO);
	List<EsacDeviceNodePO> getEsacDeviceHistoryList(EsacExportDTO esacExportDTO);
	Long getEascDeviceWarnNum(@Param("euid")Long euid);
}
